cu-rrt-star component + closed-loop Rerun navigation demo - #2
Open
Scofield626 wants to merge 7 commits into
Open
cu-rrt-star component + closed-loop Rerun navigation demo#2Scofield626 wants to merge 7 commits into
Scofield626 wants to merge 7 commits into
Conversation
Same seeded RRT* task on two nodes: a quick policy (2 quanta, quality target) and a thorough one (24 quanta, stall bound). base() publishes the first path, each refine() runs one block of iterations and republishes only a shorter one.
write_path shortcuts the tree path instead of dropping its tail, so every published segment is collision free; a path that still does not fit is not published at all. gamma: 0.0 derives the rewiring constant from the free area, which lifts the thorough planner from q=0.90 to q=0.96. The example's self-check now runs as a test, and a planner node exposes a small debug state instead of its whole tree.
|
Hi! Thanks for opening this pull request. Because this is your first time contributing to this repository, please read our contributor guide: |
Scofield626
force-pushed
the
anytime-rrt-star-component
branch
from
August 3, 2026 19:13
4991a44 to
feaae1b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restructure of the anytime RRT* example (copper-project#1247) into a reusable component plus a visual example, for local testing before updating the upstream PR.
components/tasks/cu_rrt_star(cu-rrt-star) — the planner as a proper component:RrtStarPlanner(CuAnytimeTask) consumescu_rrt_star::PlanRequest, publishescu_rrt_star::PlanPath.[Obstacle; MAX_OBSTACLES = 16]), so the planner has no built-in map and a source can change it between jobs. Withgamma: 0.0the rewiring constant is derived per job from the map received.tests/rrt_star_tester.rs, socargo test -p cu-rrt-starstill exercises the full anytime runtime path in CI.examples/cu_anytime_rrt_star— closed-loop navigation demo using the component:NavSimadvances the robot along the newest published path and replans from the robot's current pose;RerunViewerdraws obstacles, robot + trail, goal, the current best path, and per-cycle quality/iteration curves.rate_target_hz: 20until Ctrl-C.To try it:
Headless: add
"rrd": "demo.rrd"to the viewer'sconfig:block to record to a file instead of spawning a viewer.Note:
cu-rrt-staris the first out-of-core crate implementingCuAnytimeTask; the trait is not in the prelude and much ofcutask_anytimeis#[doc(hidden)], so docs.rs links from the component point into a barely-surfaced API.